#include <iostream>
using namespace std;

/*
    C语言 scanf可以通过返回值判断输入是否正确
        输入错误时返回值为0     
    C++  cin可以通过fail()函数判断输入是否正确
*/


int main()
{
    int num;
    cout << "请输入一个正整数：";
    cin >> num;

    while (cin.fail())  
    {
        cout << "输入错误！请重新输入：" << endl;
        // 清除错误状态
        cin.clear();
        // 清空输入缓冲区      清除1000个字符或直到遇到\n
        cin.ignore(1000, '\n');  
        cin >> num;
    }
    cout << "输入的数字是：" << num << endl;

    return 0;
}